This invention relates generally to computer memory, and more specifically to encoding data into a constrained memory.
Phase change memory (PCM) cells exist in one of two states: amorphous which is associated with a low electrical conductivity state, and crystalline which is associated with a high electrical conductivity state. Sometimes a PCM cell is unable to switch from one state to another, hence becoming stuck or having a constrained value that cannot be changed. The inability to switch from one state to another can make a memory cell unusable. More sophisticated uses of PCM cells store multiple bits per cell by writing multiple analog levels. PCM cells exhibit variations on what resistance ranges they can achieve. These different ranges imply that the number of bits per cell that each cell can support can vary. One way of dealing with the different resistance ranges is to store a number of bits very close to the average of the individual bits per cell, even when the decoder does not know the ranges of the memory cells. This technique may further employ stuck bit codes based on the Luby transform (LT). A drawback of using the LT is that it can be difficult to implement in hardware.
Accordingly, and while existing techniques for dealing with constrained value memory cells may be suitable for their intended purpose, there remains a need in the art for memory systems that overcome these drawbacks.